// import c3d from "../cc";

// declare global {
//     function download(...any);
// }

// /*
//  * @features: FBO 对象转化为图片用
//  * @description: 内容说明
//  * @Date: 2021-10-28 19:33:23
//  * @Author: judu233(769471424@qq.com)
//  * @LastEditTime: 2021-10-28 20:19:58
//  * @LastEditors: judu233
//  */
// export class Capture extends c3d.Component {

//     target: c3d.Node;

//     private _canvas: HTMLCanvasElement;

//     capture(imageName) {
//         imageName = imageName || "fbo.png";
//         if (window.jsb) {
//             var texture = this.target.getComponent(c3d.Sprite).spriteFrame.texture;
//             let width = texture.width;
//             let height = texture.height;
//             let data = texture.readPixels();
//             let picData = new Uint8Array(width * height * 4);
//             let rowBytes = width * 4;
//             for (let row = 0; row < height; row++) {
//                 let srow = height - 1 - row;
//                 let start = srow * width * 4;
//                 let reStart = row * width * 4;
//                 for (let i = 0; i < rowBytes; i++) {
//                     picData[reStart + i] = data[start + i];
//                 }
//             }
//             let filePath = jsb.fileUtils.getWritablePath() + imageName;
//             let success = jsb.saveImageData(picData, width, height, filePath)
//             if (success) {
//                 return filePath;
//             }
//             else {
//                 return null;
//             }
//         }
//         else {
//             var texture = this.target.getComponent(c3d.Sprite).spriteFrame.texture;
//             let width = texture.width;
//             let height = texture.height;
//             if (!this._canvas) {
//                 this._canvas = document.createElement('canvas');
//                 this._canvas.width = width;
//                 this._canvas.height = height;
//             }
//             else {
//                 this.clearCanvas();
//             }
//             let ctx = this._canvas.getContext('2d');
//             let data = texture.readPixels();
//             let rowBytes = width * 4;
//             for (let row = 0; row < height; row++) {
//                 let srow = height - 1 - row;
//                 let imageData = ctx.createImageData(width, 1);
//                 let start = srow * width * 4;
//                 for (let i = 0; i < rowBytes; i++) {
//                     imageData.data[i] = data[start + i];
//                 }
//                 ctx.putImageData(imageData, 0, row);
//             }
//             var dataURL = this._canvas.toDataURL("image/png");
//             this._canvas.remove();
//             this._canvas = null;
//             download(dataURL, imageName, "image/png");
//             return imageName;
//         }
//     }

//     clearCanvas() {

//     }
// }